package com.job.pojo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 用户表(User)实体类
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_user")
@ApiModel("用户表")
//mysql中的_可以自动转换成驼峰,mp帮你做了
public class User implements Serializable {
    private static final long serialVersionUID = -40356785423868312L;

    //主键
    @TableId
    @ApiModelProperty("用户id")
    private Long id;

    //用户名
    @ApiModelProperty("用户名")
    private String userName;

    //昵称
    @ApiModelProperty("昵称")
    private String nickName;

    //密码
    @ApiModelProperty("密码")
    private String password;

    //账号状态 0常用 1停用
    @ApiModelProperty("账号状态 0常用 1停用")
    private String status;

    //邮箱
    @ApiModelProperty("邮箱")
    private String email;

    //手机号
    @ApiModelProperty("电话号码")
    private String phoneNumber;

    //用户性别 0男 1女 2未知
    @ApiModelProperty("用户性别 0男 1女")
    private Integer sex;

    //头像
    @ApiModelProperty("头像")
    private String avatar;

    //用户类选(0管理员 1学生 2企业方)
    @ApiModelProperty("用户类选(0管理员 1学生 2企业方)")
    private Integer userType;

    //创建人的用户id
    @ApiModelProperty("创建人的用户id")
    private Long createBy;

    //创建时间
    @ApiModelProperty("创建时间")
    @DateTimeFormat(pattern = "YYYY-MM-DD hh:mm:mm")
    private LocalDateTime createTime;

    //更新时间
    @ApiModelProperty("更新时间")
    @DateTimeFormat(pattern = "YYYY-MM-DD hh:mm:mm")
    private LocalDateTime updateTime;

    //删除标志 0代表未删除 1代表已经删除
    @ApiModelProperty("删除标志 0代表未删除 1代表已经删除")
    private Integer delFlag;

    @ApiModelProperty("角色id")
    private Integer roleId;
}
